package cn.tanglong.order.domain;

import cn.tanglong.basic.domain.BaseDomain;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单下单
 */
@Data
public class Order extends BaseDomain{
    // 下单成功 未支付
    public static final int STATE_WAIT_PAY = 0;
    //  支付成功 未发货
    public static final int STATE_SUCCESS_PAY = 1;
    // 用户取消订单
    public static final int STATE_USER_CANCEL = 2;
    // 订单超时 订单自动取消
    public static final int STATE_PAY_OUTTIME_CANCEL = 3;
    // 支付失败
    public static final int STATE_PAY_FAIL = 4;
    // 已经发货
    public static final int STATE_DELIVERY_SUCCESS = 5;
    // 确认收货后提交并关闭订单
    public static final int STATE_USER_CONFIRM = 6;

    // 支付方式
    // 银联支付
    public static final int PAY_TYPE_BANK= 1;
    // 微信支付
    public static final int PAY_TYPE_WECHAT= 2;
    // 支付宝支付
    public static final int PAY_TYPE_ALIPAY= 3;

    // 备注
    private String digest;
    // 状态
    private Integer state = STATE_WAIT_PAY;
    // 价格
    private BigDecimal totalPrice;
    // 总数量
    private Integer totalCount;
    // 订单号
    private String orderSn;
    // 订单最后修改时间
    private Date lastUpdateTime;
    // 支付超时时间
    private Date payExpireTime;
    // 用户ID
    private Long userId;
    // 下单时间
    private Date createTime;
    // 支付方式
    private Integer payType;
}
